<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
    </head>
    <body>
        <div id="box"></div>
    </body>
    <script>
        // let abc = 123 // 常量，不能修改
        // abc = 'xiaoming' // 报错

        // let abc = 999
        // console.log(abc) // 999
        // const a = {
        //     n: 123,
        // }
        // a.n = 456
        // console.log(a)
        // a = 2
        // let { foo, bar } = { bar: 'bbb', foo: 'aaa' }
        // console.log(foo, bar)
        // let {
        //     p: [x, { y }],
        // } = { p: ['hello', { y: 'world' }] }
        // let a = [0, 1, 2, 3]
        // let b = a
        // b.push(4)
        // console.log(a) // [0,1,2,3,4]
        // console.log(b) // [0,1,2,3,4]
        // ... //剩余运算符 展开运算符
        // let arr = ['a', 'b', 'c']
        // console.log(...arr) //'a', 'b', 'c'
        // let arr2 = [...arr, '1', 2] //['a', 'b', 'c','1',2]

        // function fun(a, b, ...c) {
        //     console.log(a, b, c)
        // }
        // fun(1, 2, 3, 4, 5, 6)
        // let arr = [1, 2, 3, 4, 5]
        // let n = Math.max(...arr)
        // console.log(n)
        // function sum() {
        //     console.log(arguments.prototype) // { '0': 1, '1': 2, '2': 3, '3': 4, '4': 5, '5': 6 }
        // 我们可以看出，arguments不是一个数组，而是一个伪数组
        // let arr = Array.from(arguments) // 将伪数组转换成真正的数组
        // let arr = [...arguments]
        // let total = 0
        // let { length } = arguments //解构赋值{ '0': 1, '1': 2, '2': 3, '3': 4, '4': 5, '5': 6 ,length:6}
        // for (let i = 0; i < length; i++) {
        //     total += arguments[i]
        // }
        // return total
        // }

        // console.log(sum(1, 2, 3, 4, 5, 6)) // 21
        // function sum(...args) {
        //     // 使用...扩展运算符
        //     console.log(args) // [ 1, 2, 3, 4, 5, 6 ] args是一个数组
        //     return eval(args.join('+')) // 1+2+3+4+5+6
        // }

        // console.log(sum(1, 2, 3, 4, 5, 6)) // 21
    </script>
    <script>
        console.log(abc)
    </script>
</html>
